草庐IT

PHP readdir 和排序

全部标签

mysql - 是否有不会混淆重音字符的 MySQL utf8 排序规则?

我有一个utf8表并存储如下数据:+-------+--------+|name|gender|+-------+--------+|ESMÉ|F||ESME|F|+-------+--------+但是,当我尝试在(name,gender)上添加唯一键时,这两行违反了约束。我已经能够使用utf8_bin归类实现我的目标,但随后我失去了不区分大小写的功能。所以我想我真正在寻找的是一种存储utf8数据的方法,但在我的唯一key中没有将重音字符和非重音字符视为等同的。 最佳答案 我不认为你想要的是直接可能的。排序规则决定了日期的排序和比

php - 按另一列排序嵌套集(lft 和 rgt 除外)

我正在尝试为网站(PHP/MySQL)创建一个评论部分,用户可以在其中发表评论或回复已发布的。我了解到这有点棘手,因为诸如MySQL之类的RDBMS并不是真正为存储分层数据而创建的。我找到了4种解决方案(邻接表、路径枚举、嵌套集和闭包表)其中我选择了嵌套集(修改后的预序树遍历)。我已经成功地完成了对根评论和他们的回复进行提取和排序的工作但我似乎无法找到一种方法来按点(其他列)对评论进行排序而不中断父>子链接。想象一下这样的表格:+-------------------------------+|id|comment|lft|rgt|pts|+----------------------

MySQL如何根据多个属性行的相似性对对象进行排序

大家好,新年快乐情况:我在MySQL数据库中有一些表:分数:(唯一ID,唯一(objectID,metricID))|ID|ObjectID|MetricID|Score||--------+----------+----------+----------||0|1|7|0||1|5|3|13||2|7|2|78||3|7|3|22||.....|--------+----------+----------+----------|对象:(唯一ID,唯一ObjectName)|ID|ObjectName||--------+------------||0|Ook||1|Oop||2|Ow

mysql - 当按不同字段排序时,如何在 sql 中选择相邻行?

我有一个具有以下结构的数据表:id|likes1|22|53|24|65|2如果想找到#3旁边的行,我可以使用:SELECT*FROMtableWHEREid>=3ORDERBYid但是我想做的是按喜欢按表排序。当数据按喜欢排序时,它看起来像这样id|likes1|23|25|22|54|6按赞排序时,如何选择某个id前后的行?例如对于id5,我的结果将是行id3之前和行id2之后。 最佳答案 如果点赞数是唯一的,则跟随应该有效。上一个:SELECT*FROMtableWHERElikes下一步:SELECT*FROMtableWH

MySQL卡在排序状态

最近我的网站出现问题,mysql负载达到800%,大部分查询都卡在“排序结果”集中。问题是我做了一个测试。具有1个结果集的相同查询,排序需要9.8秒,没有排序需要0.02秒。查询包含where条件和groupby。优化了sql,在索引字段中进行搜索,直到几天前一切正常。没有流量高峰,没有代码更改,什么都没有。您过去是否遇到过这个问题,或者您知道我该如何解决它?谢谢编辑:查询说明:id:1select_type:SIMPLEtable:mtype:rangepossible_keys:posterid_to_idx,to,poster_idkey:posterid_to_idxkey_l

mysql - 是否可以只用一个 SELECT 随机排序 "first n"条记录?

有没有办法不用两次选择就可以做到这一点?原始查询SELECTname,view_countFROM`ex`.`item`wherestatus='available'orderbyview_countasclimit40;随机显示SELECT*FROM(SELECTname,view_countFROM`ex`.`item`wherestatus='available'orderbyview_countasclimit40)AStempORDERBYRAND();这可以在没有第二次选择的情况下完成吗? 最佳答案 试试这个:SQLfi

php - Yii2 按关系排序

我有以下数据库:day:idtask:idday_task:day_id,task_id,weight现在我想获取按重量排序的特定日期的所有任务。publicfunctiongetTasks(){return$this->hasMany(Task::className(),['id'=>'task_id'])->viaTable('day_task',['day_id'=>'id'],function($query){$query->orderBy(['weight'=>SORT_ASC]);});}导致:SELECT*FROM`day_task`WHERE`day_id`=2ORDE

php - 两行按时间顺序排序

我有我的SQL表:+----+-----+-------+-------+|id|reg|in|out|+----+-----+-------+-------+|1|a|11:10|||2|a||11:30||3|b|06:10|||4|c||07:10|+----+-----+-------+-------+我把它排序成一个数组,这样如果reg相同并且in在out之前,它就会匹配,例如:array([0]=>array('reg'=>'a','in'=>'11:10','out'=>'11:30'),[1]=>array('reg'=>'b','in'=>'06:10','out'=

mysql - 确保 MySQL 中的 auto_increment 值排序

我有多个线程将事件写入MySQL表events。该表有一个配置为auto_increment的tracking_no列,用于强制对事件进行排序。不同的读者从events中消费,他们定期轮询表以获取新事件并保留最后消费的事件的值以在每次轮询时获取所有新事件。事实证明,当前的实现有可能遗漏一些事件。这是正在发生的事情:Thread-1开始“插入”事务,它从auto_increment列(1)中获取下一个值,但需要一段时间才能完成Thread-2开始“插入”事务,它采用下一个auto_incremente值(2)并在Thread-1之前完成写入。Reader轮询并询问tracking_num

mysql - 检查输入字符串是否符合数据库排序规则

由于我们的电子邮件服务的限制,我们有一个带有电子邮件字段的表-排序规则latin1_swedish_ci。当新用户到达时检查此表以查看他是否已经订阅。出现在用户电子邮件中的字符对于此特定排序规则无效。以hsıasdf@test.com为例Woulditbepossibletodeterminebeforesavingifastringwilladheretothecollationrulesofdatabase?IsitpossibleformetocheckbeforeanyDBtriggertosave/create/find;ifanentrywiththisparticular